
struct DataAllocator
{
   typedef std::size_t size_type;
   typedef std::ptrdiff_t difference_type;

   static char * malloc(const size_type bytes)
   {
      return new (std::nothrow) char[bytes];
   }
   static void free(char * const block)
   {
      delete[] block;
   }
};
